﻿//// ------------------------------------------------------------------------
//// 版权信息
//// 版权归百小僧及百签科技（广东）有限公司所有。
//// 所有权利保留。
//// 官方网站：https://baiqian.com
////
//// 许可证信息
//// 项目主要遵循 MIT 许可证和 Apache 许可证（版本 2.0）进行分发和使用。
//// 许可证的完整文本可以在源代码树根目录中的 LICENSE-APACHE 和 LICENSE-MIT 文件中找到。
//// ------------------------------------------------------------------------

//using Mapster;

//using System.Reflection;

//using ThingsGateway;

//namespace Microsoft.Extensions.DependencyInjection;

///// <summary>
///// 对象映射拓展类
///// </summary>
//[SuppressSniffer]
//public static class ObjectMapperServiceCollectionExtensions
//{

//    /// <summary>
//    /// 添加对象映射
//    /// </summary>
//    /// <param name="services">服务集合</param>
//    /// <returns></returns>
//    public static IServiceCollection AddObjectMapper(this IServiceCollection services)
//    {
//        // 判断是否安装了 Mapster 程序集
//        return services.AddObjectMapper(App.Assemblies.ToArray());
//    }

//    /// <summary>
//    /// 添加对象映射
//    /// </summary>
//    /// <param name="services">服务集合</param>
//    /// <param name="assemblies">扫描的程序集</param>
//    /// <returns></returns>
//    public static IServiceCollection AddObjectMapper(this IServiceCollection services, params Assembly[] assemblies)
//    {
//        // 获取全局映射配置
//        var config = TypeAdapterConfig.GlobalSettings;

//        //config.Compiler = exp => exp.CompileFast();

//        // 扫描所有继承  IRegister 接口的对象映射配置
//        if (assemblies?.Length > 0) config.Scan(assemblies);

//        // 配置支持依赖注入
//        services.AddSingleton(config);

//        return services;
//    }
//}
